/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ComExWeb.util;

import ComExWeb.exception.ServiceException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author 
 */
public class ExceptionUtil {
    private DatabaseExceptionHandler handler;
    private static final Logger log = LoggerFactory.getLogger(ExceptionUtil.class);

    public Exception throwServiceException(Exception e) {        
        handler = new DerbyExceptionHandler();
        //handler = new OracleExceptionHandler();
        
        String msgErro = handler.getMensagemDeErroAmigavel(e);
        
        if (msgErro == null) {
            log.debug("### Retornando a mensagem da exceção original (" + e.getClass().getName() + ") -> " + e.getMessage());
            return new ServiceException(e.getMessage(), e);
        }

        log.debug("### Retornando mensagem customizada -> " + msgErro);
        return new ServiceException(msgErro, e);
    }

}
